XXL-JOB 垂直越权漏洞 CVE-2022-36157
漏洞描述
XXL-JOB 是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。XXL-JOB 分为 admin 和 executor 两端,前者为后台管理页面,后者是任务执行的客户端。
在 XXL-JOB v.2.3.1 版本及以前, 存在垂直越权漏洞,能够使用低权限帐户执行管理员功能。该漏洞在 v.2.4.0 版本修复。
参考链接:
漏洞影响
XXL-JOB <= v2.3.1
网络测绘
app="XXL-JOB" || title="任务调度中心" || ("invalid request, HttpMethod not support" && port="9999")
环境搭建
本地搭建 XXL-JOB v2.3.1,源码 https://github.com/xuxueli/xxl-job/archive/refs/tags/2.3.1.zip
环境启动后,访问 http://your-ip:8080/xxl-job-admin/toLogin
即可查看到管理端(admin),访问 http://your-ip:9999
可以查看到客户端(executor)。
默认口令 admin/123456
登录后台:
漏洞复现
创建一个普通用户 user:
user/GO_7YhvzrHF4
以普通用户 user 身份重新登录:
普通用户与管理员用户导航栏:
- 管理员用户 admin:运行报表、任务管理、调度日志、执行器管理、用户管理、使用教程
- 普通用户 user:运行报表、任务管理、调度日志、使用教程
以普通用户 user 身份直接访问 http://your-ip:8080/xxl-job-admin/jobgroup
,即可获取执行器管理权限:
漏洞修复
该漏洞在 v.2.4.0 版本修复。